package cn.mothin.frame.core.interfaces.system;

public interface ILoginLogHelper {
	/**
	 * 0-正常退出
	 */
	public static final int LOGOUT_TYPE_NORMAL = 0;
	/**
	 * 1-超时退出
	 */
	public static final int LOGOUT_TYPE_OVERTIME = 1;
	/**
	 * 2-服务器重启记录的退出时间
	 */
	public static final int LOGOUT_TYPE_RESET = 2;

	/**
	 * 记录登录系统时间，以及返回会话Id
	 * 
	 * @param userId
	 * @param ip
	 * @return
	 */
	public String recordLogin(String userId, String ip);
	
	/**
	 * 记录登录系统时间
	 * @param id
	 * @param userId
	 * @param ip
	 */
	public void recordLogin(String id, String userId, String ip);

	/**
	 * 记录退出时间以及退出方式
	 * 
	 * @param id
	 *            会话Id
	 * @param type
	 *            退出方式，只允许正常退出（0）以及超时退出（1）方式。
	 */
	public void recordLogout(String id, int type);

	/**
	 * 服务器启动重置之前未记录退出的记录
	 */
	public void doReset();
}
